import { createApp } from 'vue'
// i18n （PS：导入放到 APP.vue 导入之前，因为后面我们会在 app.vue 中使用国际化内容）
import i18n from '@/i18n'
import App from './App.vue'
import router from './router'
import store from './store'
import installElementPlus from './plugins/element'
import * as icons from '@element-plus/icons'
// 导入全局样式
import './styles/index.scss'
// 导入 svgIcon
import installIcons from '@/icons'
// 导入登录鉴权模块
import './permission'
// 过滤功能
import installFilter from '@/filters'
// 自定义指令
import installDirective from '@/directives'

const app = createApp(App)

installElementPlus(app)
installIcons(app)
installFilter(app)
installDirective(app)

// 批量引入icon组件 否则需要在使用到的地方按需引入 import { Avatar, Lock, View } from '@element-plus/icons'
Object.keys(icons).forEach((key) => {
  app.component(key, icons[key])
})

app.use(i18n).use(store).use(router).mount('#app')
